home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.004 / xemacs-1 / xemacs-19.13 / src / s / freebsd.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-08-18  |  2.4 KB  |  94 lines

  1. /* Synched up with: FSF 19.29. */
  2.  
  3. /* s/ file for freebsd system.  */
  4.  
  5. /* '__FreeBSD__' is defined by the preprocessor on FreeBSD-1.1 and up.
  6.    Earlier versions do not have shared libraries, so inhibit them.
  7.    You can inhibit them on newer systems if you wish
  8.    by defining NO_SHARED_LIBS.  */
  9. #ifndef __FreeBSD__
  10. #define NO_SHARED_LIBS
  11. #endif
  12.  
  13. #if 0 /* This much, alone, seemed sufficient as of 19.23.
  14.      But it seems better to be independent of netbsd.h.  */
  15. #include "netbsd.h"
  16.  
  17. #undef LIB_GCC
  18. #define LIB_GCC -lgcc
  19. #undef NEED_ERRNO
  20. #endif /* 0 */
  21.  
  22.  
  23. /* Get most of the stuff from bsd4.3 */
  24. #include "bsd4-3.h"
  25.  
  26. /* For mem-limits.h. */
  27. #define BSD4_2
  28.  
  29. /* These aren't needed, since we have getloadavg.  */
  30. #undef KERNEL_FILE
  31. #undef LDAV_SYMBOL
  32.  
  33. #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
  34.  
  35. #define LIBS_DEBUG
  36. #define LIBS_SYSTEM -lutil
  37. #define LIBS_TERMCAP -ltermcap
  38. #define LIB_GCC -lgcc
  39.  
  40. /* Reread the time zone on startup. */
  41. #define LOCALTIME_CACHE
  42.  
  43. /* freebsd has POSIX-style pgrp behavior. */
  44. #define GETPGRP_NO_ARG
  45.  
  46. #ifndef NO_SHARED_LIBS
  47. #define LD_SWITCH_SYSTEM -e start -dc -dp
  48. #define HAVE_TEXT_START        /* No need to define `start_of_text'. */
  49. #define START_FILES pre-crt0.o /usr/lib/crt0.o
  50. #define UNEXEC unexfreebsd.o
  51. #define RUN_TIME_REMAP
  52.  
  53. #ifndef N_TRELOFF
  54. #define N_PAGSIZ(x) __LDPGSZ
  55. #define N_BSSADDR(x) (N_ALIGN(x, N_DATADDR(x)+x.a_data))
  56. #define N_TRELOFF(x) N_RELOFF(x)
  57. #endif
  58. #else /* NO_SHARED_LIBS */
  59. #ifdef __FreeBSD__  /* shared libs are available, but the user prefers
  60.                      not to use them.  */
  61. #define LD_SWITCH_SYSTEM -Bstatic
  62. #define A_TEXT_OFFSET(x) (sizeof (struct exec))
  63. #define A_TEXT_SEEK(hdr) (N_TXTOFF(hdr) + A_TEXT_OFFSET(hdr))
  64. #endif /* __FreeBSD__ */
  65. #endif /* NO_SHARED_LIBS */
  66.  
  67. #define HAVE_GETLOADAVG
  68. #define NO_TERMIO
  69. #define DECLARE_GETPWUID_WITH_UID_T
  70.  
  71. /* freebsd uses OXTABS instead of the expected TAB3. */
  72. #define TABDLY OXTABS
  73. #define TAB3 OXTABS
  74.  
  75. /* this silences a few compilation warnings */
  76. #undef BSD
  77. #if __FreeBSD__ == 1
  78. #define BSD 199103
  79. #elif __FreeBSD__ == 2
  80. #define BSD 199306
  81. #endif
  82.  
  83. #undef HAVE_UNION_WAIT
  84. /* #### XEmacs: Is this necessary? */
  85. #define WRETCODE(w) (_W_INT(w) >> 8)
  86.  
  87. /* FreeBSD defines INT_MAX in /usr/include/limits.h.
  88.    Unless INT_MAX is already defined in lisp.h, XEmacs goes right
  89.    ahead and rolls its own.
  90.    We make sure that the system's definition is used throughout. */
  91. #ifdef emacs
  92. #include <limits.h>
  93. #endif
  94.